htaccess
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
config:
(
'urlManager' => array
(
'urlFormat' => 'path',
'rules' => array
(
'' => 'site/index',
'index.html' => 'site/index',
)
)
),
אני נכנס לindex.html וזה מציג לי שגיאה 404 קובץ לא קיים
24 תשובות
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d,
לאן בדיוק כיוונת את זה?
ככה מופיעה במדריך
השגיאה שאתה מקבל היא שגיאה של השרת או שגיאה של YII ?
מסך לבן כזה של
The requested URL... was not found on this server.
או משהו אחר?
זה השגיאה
Not Found
The requested URL /store/index.html was not found on this server.
Apache/2.2.22 (Ubuntu) Server at localhost Port 80
אז אתה לא כותב index.html
אתה כותב /store/index.htm וזה לא הנטיב שכתבת בהגדרות הניטוב.
איפה נמצא ה index.php של YII ? בתיקיה store או בתיקיה הראשית?
וה htaccess ?
הקובץ index.php נמצא בתיקייה store
הhtaccess נמצא בתיקייה store
הבעיה שאני חושש שהיא זה שלא עשיתי הרשאה לhtaccess
איך אני נותן הרשאה בlinux?
השרת שלך כולו או שזה באחסון כלשהו ?
זה לא עניין של הרשאות
יכול להיות שפשוט השרת מתעלם מ htaccess.
אם זה המקרה, צריך ללכת לקובץ הקונפיגורצה של השרת
ולשנות את
AllowOverride None
ל
AllowOverride All
האמת היא שהמחשב שלי זה linux אני לא משתמש בשרת
ואיך אני משנה את זה?
Ubuntu אפשר לראות את זה בשגיאה
צודק, לא הסתכלתי אפילו.
תמצא שם את
תחליף ל
פתחתי את httpd.conf והוא ריק :o
sudo gedit /etc/apache2/apache2.conf
אם אין שם שום דבר על allowoverride
לך לקובץ
ותוסיף שם לתור
את AllowOverride All
Options FollowSymLinks
AllowOverride All
</Directory>
עדין לא עובד :/ זה מציג לי שגיאה 404 כמו מקודם
לא ועשיתי גם
RewriteRule index.html index.php
בhtaccess וזה עדין לא עבד ~.~
איזה עצבים כדאי לי לעבור לשרת וזהו?
אתה כבר על שרת :)
הכל אמור לעבוד אם הגדרת הכל נכון ואתה ו localhost באמת מוביל לתיקיה שאתה חושב שהוא מוביל אליה.
זה הכתובת
localhost/store/index.html
זה השגיאה
Not Found
The requested URL /store/index.html was not found on this server.
Apache/2.2.22 (Ubuntu) Server at localhost Port 80
אבל זה לא עובד ~.`
הבנתי מה השגיאה. אתה בטוח ששמת את הקבצים בתיקיה הנכונה ? איפה שמת את הקבצים ?
/var/www/store/index.php
var/www/store/.htaccess
/var/www/store/protected/config/config.php
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . /store/index.php
אוקיי משהו מוזר שאני לא שמתי לב אליו,
בתיקייה /var/www/store לא רואים את הקובץ .htaccess
אבל בnetbeans אני רואה את הקובץ htaccess
מעכרת ההפעלה מחשיבה קבצים שמתחילים בנקודה בתור קבצים מוסתים.
תלחך ctrl + H וזה יציג לך גם קבצים מוסתרים.
מספיק שאתה רואה אותו ב netbeans. זה אומר שהוא שם.
------------
לפי השאלה המקבילה שלך אני מבין שהנושא הזה הסתדר?
כן פשוט עברתי לשרת נראה לך יותר טוב מאשר להציק לך